package dao;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import conectaBD.CriaConexao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import negocios.*;

public class DevolucaoDAO {

    private Connection conexao;

    public DevolucaoDAO() throws SQLException {
       
            this.conexao = (Connection) CriaConexao.getConexao();
    }

    public void adicionar(Devolucao a) {
        try {
            String sql = "insert into relatorio (id_aluno,id_livro,data_saida,data_devolucao) values (?,?,?, ?)";
            String sql1 = "delete from locacao where id_aluno = ?";
            
            PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement(sql);
            PreparedStatement stmt1 = (PreparedStatement) conexao.prepareStatement(sql1);
            stmt1.setInt(1, a.getId_aluno());
            stmt.setInt(1, a.getId_aluno());
            stmt.setInt(2, a.getId_livro());
            stmt.setString(3, a.getData_saida());
            stmt.setString(4, a.getData_devolucao());
            stmt.execute();
            stmt.close();
             stmt1.execute();
            stmt1.close();
            
        } catch (SQLException ex) {
            System.out.println("Erro" + ex.getMessage());
        }
    }

    public List<Devolucao> Buscar(String nome) throws SQLException {
        String sql = "select aluno.nome,serie,turma,id,livro.id_livro,titulo,num,locacao.data_saida,"
                + "data_devolucao from aluno,livro,locacao where "
                + "locacao.id_aluno=aluno.id and locacao.id_livro=livro.id_livro"
                + " and aluno.nome like ? order by locacao.data_saida,aluno.serie,turma,nome";

        PreparedStatement consulta = (PreparedStatement) conexao.prepareStatement(sql);
        consulta.setString(1, nome);
        ResultSet rs = consulta.executeQuery();
        List<Devolucao> minhaLista = new ArrayList<Devolucao>();
        while (rs.next()) {
            Devolucao a1 = new Devolucao();
            a1.setNome(rs.getString("aluno.nome"));
            a1.setSerie(rs.getString("aluno.serie"));
            a1.setTurma(rs.getString("aluno.turma"));
            a1.setTitulo(rs.getString("livro.titulo"));
            a1.setNum(rs.getInt("livro.num"));
            a1.setData_saida(rs.getString("data_saida"));
            a1.setData_devolucao(rs.getString("data_devolucao"));
            a1.setId_livro(rs.getInt("id_livro"));
            a1.setId_aluno(rs.getInt("id"));
            minhaLista.add(a1);
        }
        rs.close();
        consulta.close();
        return minhaLista;
    }

    }
